#ifndef MAKEPOSTDATA_H__
#define MAKEPOSTDATA_H__

#include "Interface.h"

class CMakePostData
{
public:
	CMakePostData();
	~CMakePostData();

	void SetUserInfo(const CString& strAppCode,const CString& strKey,const CString& strUserID,const CString& strToken);
	void SetNetInfo(const CString& strIP,UINT uPort);

	bool UploadFilePostData(CString & szUrl,string &szPostData,const CString& strFileName,LONGLONG dwFileSize,int nType = 0,int nParentID=0);
	bool MoveFilePostData(CString & szUrl,string &szPostData,const CString& strFileId,const CString& strNewFileName,int nParentID);
	bool DeleteFilePostData(CString & szUrl,string &szPostData,const vector<CString>& vFileId);
	bool RecoverFilePostData(CString & szUrl,string &szPostData,const vector<CString>& vFileId);
	bool ClearRecyclerPostData(CString & szUrl,string &szPostData,const vector<CString>* pvFileId = NULL,int nType=0);
	bool SetFilePasswdPostData(CString & szUrl,string &szPostData,const CString& strFileId,const CString& strNewPasswd=_T(""));
	bool GetFileListPostData(CString & szUrl,string &szPostData,int nType,const vector<CString>* pvFileId = NULL,int nParentID=0,int nIsDelete = 0,ICloudStatusType iCloudStatus = ICloudStatusType_None,ISpaceStatusType iSpaceStatus = ISpaceStatusType_None);
	bool TransCodePostData(CString & szUrl,string &szPostData,const CString& strFileId,int nWidth=0,const CString& strClient=_T(""));
	bool RecommendPostData(CString & szUrl,string &szPostData,int nType,const CString& strSource = _T(""),const CString& strTime=_T(""),int nImage = 0,int nNum = 0,const CString& strClient=_T(""),int nPage = 0,int nPageSize = 0);
	bool AddDownloadPostData(CString & szUrl,string &szPostData,int nType,int nResID);
	bool GetDownloadPostData(CString & szUrl,string &szPostData,int nType,const CString& strPath = _T(""));
	bool MergeDownloadPostData(CString & szUrl,string &szPostData,int nType,const CString& strPath,int nResID,int nMergeID);
	bool DepartDownloadPostData(CString & szUrl,string &szPostData,int nType,const CString& strPath,int nRid);
	bool DetailPostData(CString & szUrl,string &szPostData,int nRid);
	bool CreateDirPostData(CString & szUrl,string &szPostData,int nType,const CString& strDirName,int nParentID=0);
	bool NetSearchPostData(CString & szUrl,string &szPostData,int nQueryType,int nType,const CString& strSearch,int nChildType=0);
	bool DataTypePostData(CString & szUrl,string &szPostData,int nType);
	bool GetSizePostData(CString & szUrl,string &szPostData);
	bool DelDownloadPostData(CString & szUrl,string &szPostData,const vector<int>& vId);
	bool RenameDownloadPostData(CString & szUrl,string &szPostData,const CString& strNewName,int nId);
	bool GetUploadRecordPostData(CString & szUrl,string &szPostData);
	bool TransPercentPostData(CString & szUrl,string &szPostData,const CString& strFileId);
	bool AddYunDownloadPostData(CString & szUrl,string &szPostData,int nType,int nResId,const CString& strResName,int nResChildType,const CString& strVedioUrl,const CString& strImage,const CString& strRemark,int nFileSize );
	bool GetOffDownloadPostData(CString & szUrl,string &szPostData,int nMovieId);
	bool OnlineOrderPostData(CString & szUrl,string &szPostData,int nMovieId,int nVideoId,int nIsOnline);
	bool ResetFilePasswdPostData(CString & szUrl,string &szPostData,const CString& strUserName,const CString& strPasswd,const CString& strFileId,const CString& strNewPasswd = _T(""));
	bool ApkDownPostData(CString & szUrl,string &szPostData,int nApkId);
	bool LoginStatPostData(CString & szUrl,string &szPostData,int nType);
	bool DetailStatPostData(CString & szUrl,string &szPostData,int nType,int nResourceId);
	bool HDPlayPostData(CString & szUrl,string &szPostData,int nMovieId,int nIsGZ=1);
	bool MovieDetailPostData(CString & szUrl,string &szPostData,const vector<int>& vMid,const CString& strType = _T(""),int nIsGZ=1);
	bool ThirdPartTransCodePostData(CString & szUrl,string &szPostData,const CString& strUUId,const CString& strSrcName,const CString& strCallbackPercentUrl,const CString& strCallbackCompleteUrl,const CString& strDestName=_T(""),const CString& strDestFormat=_T(""),const CString& strDestAudio=_T(""),int nDestWidth=0,const CString& strContFormat=_T(""),const CString& strClient=_T(""));
	bool ThirdPartHttpCTSPostData(CString & szUrl,string &szPostData,const CString& strUUId,const CString& strDownUrl,int nTaskType,int nFileSize,const CString& strHash,const CString& strCallbackUrl=_T(""));
	bool NetSearchDataPostData(CString & szUrl,string &szPostData,int nType,const CString& strSearch,int nChildType=0,int nPage =0,int nPageSize=0);
	bool GetRealTimeUrlPostData(CString & szUrl,string &szPostData,const CString& strUUId);
protected:
private:

	CString m_strAppCode;
	CString m_strKey;
	CString	m_strUserID;
	CString m_strToken;
	CString m_strIP;
	UINT	m_uPort;

};
#endif